﻿// Decompiled with JetBrains decompiler
// Type: MCM.LightInject.IServiceFactory
// Assembly: MCMv5, Version=5.10.2.0, Culture=neutral, PublicKeyToken=null
// MVID: 7AB326B9-B2B4-41C2-9177-68E944071101
// Assembly location: D:\steam\steamapps\workshop\content\261550\2859238197\bin\Win64_Shipping_Client\MCMv5.dll

using System;
using System.Collections.Generic;

#nullable disable
namespace MCM.LightInject
{
  internal interface IServiceFactory
  {
    Scope BeginScope();

    object GetInstance(Type serviceType);

    object GetInstance(Type serviceType, object[] arguments);

    object GetInstance(Type serviceType, string serviceName, object[] arguments);

    object GetInstance(Type serviceType, string serviceName);

    object TryGetInstance(Type serviceType);

    object TryGetInstance(Type serviceType, string serviceName);

    IEnumerable<object> GetAllInstances(Type serviceType);

    object Create(Type serviceType);
  }
}
